package collection;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/**
 * Created with IntelliJ IDEA
 * Description:Set(集合)学习
 * User:22954
 * Date:2024-02-04
 * Time:2:43
 */
@SuppressWarnings("all")
public class Set_ {
    public static void main(String[] args) {
        /*
          Set表示集合: 无序性 唯一性 确定性
         */
        Set<String> stringSet = new HashSet<>();
        stringSet.add("hello");
        stringSet.add("hai");
        stringSet.add("world");
        stringSet.add("hello");//有重复数据存入时，旧数据会被覆盖
        stringSet.add(null);//null允许被存入
        /*
          数据的存放是无序存放的，取出是无序取出的
          但是取出的算法是固定的，无修改过的Set两次取出顺序是一样的
         */
        System.out.println(stringSet.toString());//[null, hai, world, hello]
        System.out.println(stringSet.toString());//[null, hai, world, hello]
        /*
          遍历:1.迭代器  2.增强for
          Set接口对象不能使用索引方式遍历，无get()等方法
         */
        Iterator<String> iterator = stringSet.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
        System.out.println("==========");
        for (String string : stringSet) {
            System.out.println(string);
        }
    }
}
